package cn.apestar.modules.meibang.task.enums;

import java.util.HashMap;
import java.util.Map;

import org.apache.commons.lang3.StringUtils;

public enum TaskStateEnum {
    /**
     * "未付款"
     */
    TASK_STATE_WFK("1", "未付款"),

    /**
     * "已付款"
     */
    TASK_STATE_YFK("2", "已付款"),

    /**
     * 未开始 根据时间进行判断 -- 虚拟
     */
    TASK_STATE_WKS("3", "未开始"),

    /**
     * 已经投放
     */
    TASK_STATE_YTF("4", "已经投放"),

    /**
     * 已经结束
     */
    TASK_STATE_YJWC("7", "已经完成"),

    /**
     * 已经结款
     */
    TASK_STATE_YJFK("8", "结款完成"),

    /**
     * "下架成功"
     */
    TASK_STATE_XJCG("5", "下架成功"),

    /**
     * 已失效
     */
    TASK_STATE_YSX("6", "已失效"),

    /**
     * 付款失败
     */
    TASK_STATE_FKSB("0", "付款失败"),
    /**
     * 下架申请 -- 虚拟
     */
    TASK_STATE_XJSQ("9", "下架申请中");

    private Object code;

    private String name;

    TaskStateEnum(String code, String name) {
        this.code = code;
        this.name = name;
    }

    public String getValue() {

        return code.toString();
    }

    public Long getLongValue() {

        return (Long) code;
    }

    public String getName() {

        return name;
    }

    public static TaskStateEnum get(String value) {

        if (StringUtils.isBlank(value)) {
            return null;
        }
        TaskStateEnum[] values = TaskStateEnum.values();
        for (TaskStateEnum item : values) {
            if (item.getValue().equals(value)) {
                return item;
            }
        }
        return null;
    }

    /**
     * 返回该对象的MAP
     * @return MAP集合
     */
    public Map getMap() {

        Map m = new HashMap();
        m.put("type_id", code);
        m.put("type_name", name);
        return m;
    }

}